home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PCGUIA 117
/
PC Guia 117.iso
/
Software
/
Utils
/
Software6
/
Product9
/
flashblock-1.3.1-fx+mz+tb.xpi
/
install.js
< prev
next >
Wrap
Text File
|
2005-04-02
|
6KB
|
156 lines
const APP_DISPLAY_NAME = "Flashblock";
const APP_NAME = "flashblock";
const APP_PACKAGE = "/Ted Mielczarek,Ted Drake/flashblock";
const APP_VERSION = "1.3.1";
const APP_DEFAULTS = "Flashblock Defaults";
const APP_JAR_FILE = "flashblock.jar";
const APP_CONTENT_FOLDER = "content/flashblock/";
const APP_SUCCESS_MESSAGE = "Flash objects will now be replaced with a button that you can click on to view them.\n\n";
var APP_PLATFORM = ""
// start it all up
initInstall(APP_NAME, APP_PACKAGE, APP_VERSION);
// get user's profile chrome directory
var chromef = getFolder("Profile", "chrome");
var prefDir = getFolder("Program", "defaults/pref")
// add jar file
var err = addFile(APP_PACKAGE, APP_VERSION, "chrome/" + APP_JAR_FILE, chromef, null, true);
if(err == SUCCESS) {
err = addFile(APP_DEFAULTS, APP_VERSION, "defaults/preferences/flashblock.js", prefDir, "flashblock.js", true);
// on unixy platforms, global defaults directory is not writable! Ignore this error!
if(err == ACCESS_DENIED || err == READ_ONLY) {
err = SUCCESS;
}
}
if(err == SUCCESS) {
var jar = getFolder(chromef, APP_JAR_FILE);
registerChrome(CONTENT | PROFILE_CHROME, jar, APP_CONTENT_FOLDER);
registerChrome(LOCALE | PROFILE_CHROME, jar, 'locale/en-US/'+APP_NAME+'/');
registerChrome(LOCALE | PROFILE_CHROME, jar, 'locale/it-IT/'+APP_NAME+'/');
registerChrome(LOCALE | PROFILE_CHROME, jar, 'locale/nl-NL/'+APP_NAME+'/');
registerChrome(LOCALE | PROFILE_CHROME, jar, 'locale/de-DE/'+APP_NAME+'/');
registerChrome(LOCALE | PROFILE_CHROME, jar, 'locale/fr-FR/'+APP_NAME+'/');
registerChrome(LOCALE | PROFILE_CHROME, jar, 'locale/pl-PL/'+APP_NAME+'/');
registerChrome(LOCALE | PROFILE_CHROME, jar, 'locale/ko-KR/'+APP_NAME+'/');
registerChrome(LOCALE | PROFILE_CHROME, jar, 'locale/pt-BR/'+APP_NAME+'/');
registerChrome(LOCALE | PROFILE_CHROME, jar, 'locale/da-DK/'+APP_NAME+'/');
registerChrome(LOCALE | PROFILE_CHROME, jar, 'locale/hu-HU/'+APP_NAME+'/');
registerChrome(LOCALE | PROFILE_CHROME, jar, 'locale/cs-CZ/'+APP_NAME+'/');
registerChrome(LOCALE | PROFILE_CHROME, jar, 'locale/es-ES/'+APP_NAME+'/');
registerChrome(LOCALE | PROFILE_CHROME, jar, 'locale/ru-RU/'+APP_NAME+'/');
registerChrome(LOCALE | PROFILE_CHROME, jar, 'locale/ro-RO/'+APP_NAME+'/');
registerChrome(LOCALE | PROFILE_CHROME, jar, 'locale/de-AT/'+APP_NAME+'/');
err = performInstall();
if(err == SUCCESS || err == REBOOT_NEEDED) {
var gPlatform = getPlatform();
alert("Debug: We think your OS is: " + APP_PLATFORM);
if(gPlatform == 'unix') {
uxerr = setUnixPermissions();
alert("Debug: setUnixPermissions returned with: " + uxerr);
};
msg = APP_NAME + " " + APP_VERSION + " has been succesfully installed.\n"
+APP_SUCCESS_MESSAGE
+"Please restart your browser to enable flashblock.";
alert(msg);
}
else if(err == CHROME_REGISTRY_ERROR) {
msg = "Install failed. There was a Chrome Registry Error: " + err
+ ".\nPlease restart Mozilla and try installing "
+ APP_DISPLAY_NAME + " again.";
alert(msg);
resetError();
cancelInstall(err);
}
else {
alert("Install failed. Could not performInstall. Error code:" + err);
cancelInstall(err);
}
}
else {
alert("Install failed. Could not addFile: " + APP_JAR_FILE + ". Error code:" + err);
cancelInstall(err);
}
function getPlatform() {
var platformStr, platformNode;
if ('platform' in Install) {
platformStr = new String(Install.platform);
APP_PLATFORM = platformStr;
// Mac OS X (aka Darwin) is a real unix system
if (!platformStr.search(/.*Darwin/))
platformNode = 'unix';
else if (!platformStr.search(/^Macintosh/))
platformNode = 'mac';
else if (!platformStr.search(/^Win/))
platformNode = 'win';
else if (!platformStr.search(/^OS\/2/))
platformNode = 'win';
else if (!platformStr.search(/unix|sun|linux/i))
platformNode = 'unix';
else if (getFolder("Unix Lib") != null)
platformNode = 'unix';
else
platformNode = 'unknown';
}
else
{
if (getFolder("Unix Lib") != null)
platformNode = 'unix';
else if (getFolder("Mac System")!= null)
platformNode = 'mac';
else if(getFolder("Win System")!= null)
platformNode = 'win';
else
platformNode = 'unknown';
}
return platformNode;
}
function setUnixPermissions() {
initInstall(APP_NAME, APP_PACKAGE, APP_VERSION);
var err, cmdPath;
var chromeF = getFolder(getFolder("Profile", "chrome"), APP_JAR_FILE);
var cmdArgs = "u+rwx,go+r ";
alert("Debug: The next step will try to set unix permissions");
cmdPath = chromeF;
if (!File.isFile(cmdPath)) {
alert("Cannot find :" + cmdPath);
return DOES_NOT_EXIST;
};
cmdPath = getFolder("OS Drive");
if (!File.isDirectory(cmdPath)) {
alert("Cannot find OS Drive :" + cmdPath);
return DOES_NOT_EXIST;
};
cmdPath = getFolder(cmdPath, "bin");
if (!File.isDirectory(cmdPath)) {
alert("Cannot find bin directory:" + cmdPath);
return DOES_NOT_EXIST;
};
cmdPath = getFolder(cmdPath, "chmod");
if (!File.isFile(cmdPath)) {
alert("Cannot find chmod:" + cmdPath);
return DOES_NOT_EXIST;
};
err = File.execute(cmdPath, cmdArgs + chromeF );
if (err != SUCCESS) {
alert("chmod didn't work, Error :" + err + " " + cmdPath + " " + cmdArgs + chromeF);
cancelInstall(err);
}
else {
err = performInstall();
if(err != SUCCESS) {
alert("setUnixpermissions Error: "+ err + " " + cmdPath + " " + CmdArgs + chromeF);
}
}
return err;
}